Introdução à Programação

Aula 2 - Introduction to Python

Python

Sobre a linguagem

  • Guido van Rossum - 1991
  • Sintaxe simples
  • High-level language
  • Gerenciamento Automático de Memória
  • Portabilidade
  • Comunidade
  • Data Science / Machine Learning

Programando em Python

GUI - Graphical User Interface

  • Interação com o software através de elementos visuais
    • Botões & Ícones (etc.)
  • Uma Alternativa à CLI
    • Command Line Interface
  • Objetivos
    • Facilitar interação com usuário (mais intuitivo)
    • Interface amigável

IDE - Integrated Development Environment

  • Facilitador na interação/desenvolvimento de software
  • Plataforma abrangente (elementos visuais e de linguagem)
  • Objetivos:
    • Integrar as ferramentas nececessárias à programação
    • Facilitar o desenvolvimento de programas

Programando!

Meu primeiro código

# Isso é um comentário, não um código. Por quê?

# R: Hashtags ('#') indicam ao interpretador algo não-código (= ignore)

# Quase lá...

# Abaixo nós temos nossa primeira linha de código!
print('Hello, World!')

Output:

Hello, World!

Criando um ‘Programa’

  • Em programação, programas são comandos escritos que especificam ações que o computador deve realizar:
    • Cálculos ou modelos matemáticos
    • Manipulação de Dados
    • Criação de um softwares
  • Todo conjunto de código (linhas de código escrito), em qualquer linguagem, pode ser considerado um programa.
  • Nome técnico: código-fonte (source code)
  • Nossos programas serão desenvolvidos em Python (linguagem) e eles possuirão finalidades diversas.

Behind the scenes

  1. Redigir o código fonte
  • É o que entendemos por programar - escrever o código
  1. Rodar o código fonte (clicar em Executar)
  2. Interpretador lê o código fonte e traduz para linguagem de máquinas (código binário)
  3. Sistema Operacional (SO) recebe o código binário
  4. SO + Hardware Executam os comandos recebidos
  5. Computador gera o output esperado!

Voltando ao nosso primeiro programa…

# Programa 
print('Hello, World!')

Decompondo o Programa

# Programa 
print('Hello, World!')
# Primeiro elemento: função
print

O que é uma função?

  1. Verbos/Comandos e Ações pré-construídos (built-int)
  2. Inputs, Comportamento e Outpus pré-estabelecidos
  3. Inputs > Behavior/Comportamento > Outputs
  4. Toda função possui: documentação

A função print

  1. Função que sabe como printar/publicar algo no console
  2. Como dizemos à essa função o que printar?
# Programa 
print('Hello, World!')
# Segundo elemento: parêntesis
( )

Parêntesis

  1. Parâmetros (parameters): containers (placeholders) para os valores que atribuiremos
  2. Argumentos: valores reais que atribuímos à uma função quando ela for chamada

# Programa 
print('Hello, World!')
# Terceiro elemento: o(s) argumento(s)
'Hello, World'

Argumento

  • Nesse caso, passamos um texto como argumento
  • Como sabemos que isso é um texto?
  • Se encapsulado por aspas (‘single’, “double”) = str
  • str (more later)

Funções

Aprofundamento: Função

## Entendo mais sobre funções
print('Hello, World!')
Hello, World!
## O que mudou aqui?
print('Hello', 'World')

## Default Parameter
Hello World
## Positional argument
print('Hello', 'World', 'or', 'Hello', 'Brasil')
Hello World or Hello Brasil
## Keyword argument
print('Hello', 'World', 'or', 'Hello', 'Brasil', sep='-')
Hello-World-or-Hello-Brasil

Argumentos

  • Argumentos podem ser:
    • Positional arguments: associação posicional à parâmetros (argumentos que precisam ser passados para funação na ordem que os parâmetros estão definidos)
    • Keyword arguments: associação explícita à parâmetros
    • Default parameter: possui um argumento padrão que será utilizado caso não façamos opção explícita por desligá-lo ou utilizá-lo com outro argumento

Debugging (Depuração)

  • Processo de identificar, rastrear e corrigir erros (“bugs”)
  • Forma de mantermos nosso programa funcionando como previsto
  • Grande ajuda ao seu futuro eu
  • Identificar o Problema > Localizar > Corrigir
## O que está errado aqui?
print('Meu primeiro programa'

In-class Coding #1

  • Metodologia
    • Espere… respire…
    • Anote primeiro, antes de começar a programar
      1. Qual deve ser o meu output final? Requisitos
      2. Qual o meu input?
      3. Qual a transformação necessária do meu input?

In-class Coding #1

Variáveis

O que é uma variável?

  • É um container onde armazenamos coisas (dados)
  • Uma variável é sempre composta de dois elementos:
    • Nome
    • Conteúdo
  • Em Python: cria-se uma variável com o simbolo: = (igual)
## Minha primeira variável
variavel = 'Belavista'
endereco = 'Avenida Cardeal Arcoverde'
var_sem_acento = 'Nomes de variáveis não gostam de acentos!'
# Snake_case
var_sem_espaco = 'E nem de espaços em branco'
var_intuitiva = 'Que o nome da var diga algo sobre o conteúdo'
meu_numero = 2024

In-class Coding #1